home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / apps / 191 / applic / checkbok.pas < prev    next >
Pascal/Delphi Source File  |  1987-11-20  |  4KB  |  187 lines

  1. Program Checkbook (input,output);
  2.     {$I auxsubs.pas}
  3.  
  4.   var
  5.       Pbalance:real;
  6.       Selection:char;
  7.       infile,outfile:text;
  8.  
  9.  
  10.   Procedure Balance (var Bbalance:real);
  11.  
  12.     Begin
  13.      gotoxy (3,26);
  14.      writeln ('Checkbook Balance Program ');
  15.      gotoxy (5,65);
  16.      writeln ('BALANCE ');
  17.      gotoxy (7,64);
  18.      writeln (pbalance:8:2)
  19.     end;
  20.  
  21.   Procedure Menu;
  22.  
  23.     Begin
  24.        balance (pbalance);
  25.        writeln ('                        C)  Enter a Check?');
  26.        writeln;
  27.        writeln ('                        D)  Enter a Deposit?');
  28.        writeln;
  29.        writeln ('                        I)  Enter Interest?');
  30.        writeln;
  31.        writeln ('                        F)  Enter Fees?');
  32.        writeln;
  33.        writeln ('                        R)  Reset Balance?');
  34.        writeln;
  35.        writeln ('                        Q)  Quit?');
  36.        writeln;
  37.        write ('                     What is your selection? ')
  38.     end;
  39.  
  40.  
  41.   Procedure Check (var Cbalance:real);
  42.  
  43.    var
  44.       cvalue:real;
  45.       cquit:char;
  46.  
  47.  
  48.      Begin
  49.       Repeat
  50.        clrscrn;
  51.        balance (cbalance);
  52.        gotoxy (8,10);
  53.        write ('Enter the amount of the check written $ ');
  54.        readln (cvalue);
  55.        cbalance:=cbalance-cvalue;
  56.        balance (cbalance);
  57.        gotoxy (10,10);
  58.        write ('Do you have another check to enter? (Y/N) ');
  59.        readln (cquit);
  60.       Until cquit in ['n','N']
  61.      end;
  62.  
  63.  
  64.   Procedure Deposit (var Dbalance:real);
  65.  
  66.    var
  67.       dvalue:real;
  68.       dquit:char;
  69.  
  70.     Begin
  71.      Repeat
  72.       clrscrn;
  73.       balance (dbalance);
  74.       gotoxy (8,10);
  75.       write ('Enter the amount of the deposit $ ');
  76.       readln (dvalue);
  77.       dbalance:=dbalance+dvalue;
  78.       balance (dbalance);
  79.       gotoxy (10,10);
  80.       write ('Do you have another deposit to enter? (Y/N) ');
  81.       readln (dquit);
  82.      Until dquit in ['n','N']
  83.     end;
  84.  
  85.  
  86.   Procedure Interest (var Ibalance:real);
  87.  
  88.    var
  89.       ivalue:real;
  90.       iquit:char;
  91.  
  92.     Begin
  93.      Repeat
  94.       clrscrn;
  95.       balance (ibalance);
  96.       gotoxy (8,10);
  97.       write ('Enter the amount of interest earned $ ');
  98.       readln (ivalue);
  99.       ibalance:=ibalance+ivalue;
  100.       balance (ibalance);
  101.       gotoxy (10,10);
  102.       write ('Do you have more interest to enter? (Y/N) ');
  103.       readln (iquit);
  104.      Until iquit in ['n','N']
  105.     end;
  106.  
  107.  
  108.   Procedure Fees (var Fbalance:real);
  109.  
  110.    var
  111.       fvalue:real;
  112.       fquit:char;
  113.  
  114.     Begin
  115.      Repeat
  116.       clrscrn;
  117.       balance (fbalance);
  118.       gotoxy (9,5);
  119.       write ('Enter the amount of the fee deducted from your account $ ');
  120.       readln (fvalue);
  121.       fbalance:=fbalance-fvalue;
  122.       balance (fbalance);
  123.       gotoxy (11,8);
  124.       write ('Do you have more fees to enter? (Y/N) ');
  125.       readln (fquit);
  126.      Until fquit in ['n','N']
  127.     end;
  128.  
  129.  
  130.   Procedure Rreset (var rbalance:real);
  131.  
  132.     var
  133.        rchange:char;
  134.  
  135.      Begin
  136.        clrscrn;
  137.        balance (rbalance);
  138.        gotoxy (9,10);
  139.        write ('Do you wish to change your balance? (Y/N) ');
  140.        readln (rchange);
  141.        if rchange in ['y','Y'] then
  142.       begin
  143.        gotoxy (11,17);
  144.        write ('Input the correct balance $ ');
  145.        readln (rbalance)
  146.       end
  147.      end;
  148.  
  149.  
  150.  
  151.      BEGIN
  152.  
  153.        reset (infile,'check.dat');
  154.        readln (infile,pbalance);
  155.        close (infile);
  156.  
  157.       Repeat
  158.         clrscrn;
  159.         menu;
  160.         readln (selection);
  161.  
  162.        Case selection of
  163.  
  164.         'c','C':check (pbalance);
  165.         'd','D':deposit (pbalance);
  166.         'i','I':interest (pbalance);
  167.         'f','F':fees (pbalance);
  168.         'r','R':rreset (pbalance);
  169.         'q','Q':                 ;
  170.         else:
  171.          begin
  172.           writeln;
  173.           writeln ('                  You must select C, D, I, F, Q, or R ');
  174.           writeln;
  175.           write ('                       Press return to continue ');
  176.           readln
  177.          end
  178.        end;
  179.  
  180.       Until selection in['q','Q'];
  181.         rewrite (outfile,'check.dat');
  182.         writeln (outfile,pbalance);
  183.  
  184.         clrscrn
  185.  
  186.    END.
  187.